The present invention relates to an animated image generating technique of executing a polygon mapping using skeletons, which technique is applicable to video games, computer graphics and the like.
In recent years, various game systems in which characters are displayed in a simulated three-dimensional (3D) space generated on a monitor screen have been spread. Some of such game systems are known to simulate skiing, surfing, skate boarding, snow boarding, etc. In these games, leg movements when a center of gravity of a human figure""s body vertically moves are particularly important in realizing a good feeling of presence (hereinafter, merely xe2x80x9cpresencexe2x80x9d)
On the other hand, if an attempt is made to finely express movements of a 3D model formed by polygons, the number of the polygons is increased and the CPU is largely burdened if coordinates of vertices are calculated one by one, with the result that it becomes difficult to move the 3D model in real time. Particularly, such a calculation method is not suitable for video games in which characters are caused to make various movements in a three-dimensional manner by promptly responding to operation by a game player.
Accordingly, a technique utilizing a multi-joint structure which makes movements using skeletons connecting joints has been adopted in recent years. This technique utilizing a multi-joint structure is briefly described with reference to FIG. 10. In FIG. 10, a character 90 represents a human in a simulated manner and is expressed as a multi-joint structure in which a multitude of joints 91 are provided at the same positions as those of an actual human. The respective joints 91 are connected by skeletons 92. The joint 91 at a portion corresponding to the waist serves as a reference point A0, and skeletons 92a connected with the reference point A0 serve as parent skeletons and are defined by vectors with the reference point A0 as an origin. The skeletons 92 extending from the parent skeletons 92a to be successively connected with downstream-side body parts such as the head, both hands and both legs are defined by vectors based on the leading ends of the upstream-side skeletons by one stage. The outer surface of the character 90 is three-dimensionally displayed by a 3D model made of a necessary number of polygons specified in correspondence with the respective skeletons 92. In the case that the 3D model is caused to move, vector data (i.e. joint angle data) corresponding to a movement are successively given to the respective skeletons 92 as time passes, and the polygons corresponding to the respective skeletons 92 are successively displayed while changing their positions and angles as the skeletons 92 successively move. As a result, the 3D model appears to be moving.
Even if the technique utilizing the multi-joint structure is used, it has taken time to calculate the positions of the skeletons and it has been difficult to dynamically calculate the movements of the legs for every one of scenes displayed as the game progresses. Accordingly, movements of the legs corresponding to typical scenes are calculated in advance and stored as movement data. After discriminating whether or not the scene displayed as the game progresses belongs to any of the typical scenes, a corresponding movement data is read and displayed.
However, according to the above method, there is a limit in expressing movements of the legs which provide a sufficiently good presence due to a limit in the number of the movement data stored.
In view of the problem residing in the prior art, an object of the present invention is to provide animated image generating method and apparatus capable of expressing movements of legs which provide a good presence by dynamically calculating the movements of the legs for every one of scenes displayed as a game progresses, a readable storage medium storing an animated image generating program and a video game system.
In order to achieve the above object, according to the invention, an animated image generating apparatus in which each leg model is formed by two skeletons, one extending from a waist to a knee and the other extending from the knee to a foot, and the positions of the respective leg models are determined by position calculation of the skeletons, comprises: model setting means for specifying a dynamic model formed by a mass particle given at a waist position and a coupling body coupling a substantially middle point between the feet of both legs and the waist; foot determining means for determining the positions and speeds of the feet of both legs; waist position calculating means for calculating the position of the waist by dynamic calculation based on the positions and speeds of the feet of both legs given by the foot determining means using the dynamic model; and knee position calculating means for calculating the positions of the knees of both legs based on the positions of the feet of both legs determined by the foot determining means and the position of the waist calculated by the waist position calculating means. With this construction, since the positions of the skeletons forming the legs can be dynamically calculated by executing a relatively easy calculation, the movements of the legs corresponding to scenes can be expressed while avoiding an increase in loads on a processor, thereby giving a better presence.
These and other objects, features and advantages of the present invention will become more apparent upon a reading of the following detailed description and accompanying drawings.